函数

isxdigit

<cctype>

int isxdigit ( int c );

检查字符是否是十六进制数字(decimal digit)

检查 c 是否是一个十六进制数字字符。

十进制数字有:0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

头文件 <cctype> 的参考中,有标准 ASCII 字符集的各个字符在不同 ctype 函数的返回值的详细图表。

在 C++ 中,这个函数的 locale-specific 模板版本 isxdigit 在头文件 <locale>中。

参数

c

被检查的字符,被转化为 int 型或 EOF

返回值

如果 c 的确是一个十六进制数字,则返回一个非0值 (也就是 true ),否则返回0 (也就是 false)。

例子

  1. /* isxdigit example */
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <ctype.h>
  5. int main()
  6. {
  7. char str[] = "ffff";
  8. long int number;
  9. if(isxdigit(str[0]))
  10. {
  11. number = strtol(str, NULL, 16);
  12. printf("The hexadecimal number %lx is %ld.\n", number, number);
  13. }
  14. return 0;
  15. }

输出:

  1. The hexadecimal number ffff is 65535.

isxdigit 被用来检查 str 的第一个字符是否是一个十六进制数字,来成为一个有效的候选者被 strtol 转化为一个整型的值。

另请参阅

函数名 描述
isdigit 检查字符是否是十进制数字(decimal digit) (函数)
isalnum 检查字符是否是字母或数字(alphanumeric) (函数)
isalpha 检查字符是否是字母(alphabetic) (函数)